package gtug.duesseldorf.client;

import gtug.duesseldorf.client.model.ClientLoginData;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The async counterpart of <code>GreetingService</code>.
 */
public interface GreetingServiceAsync {
	void serverConnect(ClientLoginData loginData, AsyncCallback<String> callback);

	void serverDisconnect(String clientId, AsyncCallback<Boolean> callback);

	void waveNew(String clientId, AsyncCallback<Boolean> callback);

	void waveOpen(String clientId, String waveId, AsyncCallback<Boolean> callback);

	void waveAddParticipant(String clientId, String waveId, String participantName, AsyncCallback<Boolean> genericAsyncCallback);

	void sendAppendMutation(String clientId, String waveId, String text, AsyncCallback<Void> callback);
}
